Use , Disuse , and Misuse of Automated Refactorings ( Extended

نویسندگان

  • Mohsen Vakilian
  • Nicholas Chen
  • Stas Negara
  • Balaji Ambresh Rajkumar
  • Brian P. Bailey
  • Ralph E. Johnson
چکیده

Though refactoring tools have been available for more than a decade, research has shown that programmers underutilize such tools. However, little is known about why programmers do not take advantage of these tools. We have conducted a field study on programmers in their natural settings working on their code. As a result, we collected a set of interaction data from about 1268 hours of programming using our minimally intrusive data collectors. Our quantitative data show that programmers prefer lightweight methods of invoking refactorings, usually perform small changes using the refactoring tool, proceed with an automated refactoring even when it may change the behavior of the program, and rarely preview the automated refactorings. We also interviewed nine of our participants to provide deeper insight about the patterns that we observed in the behavioral data. We found that programmers use predictable automated refactorings even if they have rare bugs or change the behavior of the program. This paper reports some of the factors that affect the use of automated refactorings such as invocation method, awareness, naming, trust, and predictability and the major mismatches between programmers’ expectations and automated refactorings. The results of this work contribute to producing more effective tools for refactoring complex software. Keywords-Software engineering; Software maintenance; Programming environments; Human factors; User interfaces; Human computer interaction;

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design and Implementation of an Automated Dispensing Device for Reducing Methadone Therapy Misuse

Introduction: A variety of (deliberate or inaccurate) errors in drug rehabilitation clinics may occur  due to use of addictive drugs. Automated drug distribution systems play a significant role in reducing drug medication errors. Method: Firstly, according to the addiction rehabilitation centers requests, the design and construction of the device was performed. The prototype systems were examin...

متن کامل

Automation Usage Decisions: Controlling Intent and Appraisal Errors in a Target Detection Task

BACKGROUND It was proposed that misuse and disuse often occur because operators (a) cannot determine if automation or a nonautomated alternative maximizes the likelihood of task success (appraisal errors) or (b) know the utilities of the options but disregard this information when deciding to use automation (intent errors). OBJECTIVE This investigation assessed the effectiveness of performanc...

متن کامل

A Comparative Study of Manual and Automated Refactorings

Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not a...

متن کامل

Effects of Human-Machine Competition on Intent Errors in a Target Detection Task

OBJECTIVE This investigation examined the impact of human-machine competition (John Henry effects) on intent errors. John Henry effects, expressed as an unwillingness to use automation, were hypothesized to increase as a function of operators' personal investment in unaided performance. BACKGROUND Misuse and disuse often occur because operators (a) cannot determine if automation or a nonautom...

متن کامل

Using Continuous Code Change Analysis to Understand the Practice of Refactoring

Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012